package com.whoimi.admin.entity;

import org.springframework.data.annotation.Id;
import org.springframework.data.relational.core.mapping.Column;
import org.springframework.data.relational.core.mapping.Table;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @author whoimi
 * @since 2025-07-28T11:50:15.826987500
 */

@Table (name ="sys_log",schema = "wiic_admin")
public class Log implements Serializable {

    @Serial
	private static final long serialVersionUID = 7891690940048050606L;

	/**
	 * 主键
	 */
	@Id
   	@Column("id")
	private Long id;

	/**
	 * 日志模块
	 */
   	@Column("module")
	private String module;

	/**
	 * 请求方式
	 */
   	@Column("request_method")
	private String requestMethod;

	/**
	 * 请求参数(批量请求参数可能会超过text)
	 */
   	@Column("request_params")
	private String requestParams;

	/**
	 * 返回参数
	 */
   	@Column("response_content")
	private String responseContent;

	/**
	 * 日志内容
	 */
   	@Column("content")
	private String content;

	/**
	 * 请求路径
	 */
   	@Column("request_uri")
	private String requestUri;

	/**
	 * 方法名
	 */
   	@Column("method")
	private String method;

	/**
	 * IP地址
	 */
   	@Column("ip")
	private String ip;

	/**
	 * 省份
	 */
   	@Column("province")
	private String province;

	/**
	 * 城市
	 */
   	@Column("city")
	private String city;

	/**
	 * 执行时间(ms)
	 */
   	@Column("execution_time")
	private Long executionTime;

	/**
	 * 浏览器
	 */
   	@Column("browser")
	private String browser;

	/**
	 * 浏览器版本
	 */
   	@Column("browser_version")
	private String browserVersion;

	/**
	 * 终端系统
	 */
   	@Column("os")
	private String os;

	/**
	 * 创建人ID
	 */
   	@Column("create_by")
	private Long createBy;

	/**
	 * 创建时间
	 */
   	@Column("create_time")
	private LocalDateTime createTime;

	/**
	 * 逻辑删除标识(1-已删除 0-未删除)
	 */
   	@Column("is_deleted")
	private Boolean isDeleted;

	public Long getId() {
		return this.id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getModule() {
		return this.module;
	}

	public void setModule(String module) {
		this.module = module;
	}

	public String getRequestMethod() {
		return this.requestMethod;
	}

	public void setRequestMethod(String requestMethod) {
		this.requestMethod = requestMethod;
	}

	public String getRequestParams() {
		return this.requestParams;
	}

	public void setRequestParams(String requestParams) {
		this.requestParams = requestParams;
	}

	public String getResponseContent() {
		return this.responseContent;
	}

	public void setResponseContent(String responseContent) {
		this.responseContent = responseContent;
	}

	public String getContent() {
		return this.content;
	}

	public void setContent(String content) {
		this.content = content;
	}

	public String getRequestUri() {
		return this.requestUri;
	}

	public void setRequestUri(String requestUri) {
		this.requestUri = requestUri;
	}

	public String getMethod() {
		return this.method;
	}

	public void setMethod(String method) {
		this.method = method;
	}

	public String getIp() {
		return this.ip;
	}

	public void setIp(String ip) {
		this.ip = ip;
	}

	public String getProvince() {
		return this.province;
	}

	public void setProvince(String province) {
		this.province = province;
	}

	public String getCity() {
		return this.city;
	}

	public void setCity(String city) {
		this.city = city;
	}

	public Long getExecutionTime() {
		return this.executionTime;
	}

	public void setExecutionTime(Long executionTime) {
		this.executionTime = executionTime;
	}

	public String getBrowser() {
		return this.browser;
	}

	public void setBrowser(String browser) {
		this.browser = browser;
	}

	public String getBrowserVersion() {
		return this.browserVersion;
	}

	public void setBrowserVersion(String browserVersion) {
		this.browserVersion = browserVersion;
	}

	public String getOs() {
		return this.os;
	}

	public void setOs(String os) {
		this.os = os;
	}

	public Long getCreateBy() {
		return this.createBy;
	}

	public void setCreateBy(Long createBy) {
		this.createBy = createBy;
	}

	public LocalDateTime getCreateTime() {
		return this.createTime;
	}

	public void setCreateTime(LocalDateTime createTime) {
		this.createTime = createTime;
	}

	public Boolean getIsDeleted() {
		return this.isDeleted;
	}

	public void setIsDeleted(Boolean isDeleted) {
		this.isDeleted = isDeleted;
	}

}
